#include <stdio.h>
#include <stdlib.h>
#include <ogcsys.h>
#include <string.h> //for parsing parameters

#include "nand.h"
#include "menu.h"
#include "video.h"
#include "wpad.h"

#include "tools.h"

int main(int argc, char **argv){
	int mode=-1, ios=249;

	// Parse parameters
	if(argc>1){
		int i;
		for(i=1; i<argc; i++){
			if(strncmp("--ios=", argv[i], 6)==0){
				ios=atoi(strchr(argv[i], '=')+1);
			}else if(strncmp("--auto=SD", argv[i], 9)==0){
				mode=EMU_SD;
			}else if(strncmp("--auto=USB", argv[i], 10)==0){
				mode=EMU_USB;
			}else if(strncmp("--partition=", argv[i], 12)==0){
				Set_Partition(atoi(strchr(argv[i], '=')+1));
			}else if(strncmp("--path=", argv[i], 7)==0){
				Set_Path(strchr(argv[i], '=')+1);
			}else if(strncmp("--fullmode=", argv[i], 11)==0){
				Set_FullMode(atoi(strchr(argv[i], '=')+1));
			}
		}
	}
	
	if (ES_GetTitleID(&old_title_id) < 0)
    {
    old_title_id = (0x00010001ULL << 32) | *(u32 *)0x80000000;
    }	

	// Load Custom IOS
	IOS_ReloadIOS(ios);

	// Initialize system
	Video_Init();
	Wpad_Init();

	// Initialize console if DEBUG_MODE
	#ifdef DEBUG_MODE
	printf("Mighty Channels TEST\n");	
	#endif

	// Menu loop
	Menu_Loop(ios, mode);

	exit(0);
}
